#include "HashDBOperation.h"

#include "../hash/activityImpls/HashActivityHandlerImpls.h"
#include "../hash/HashBox.h"
#include "../../runtime/AutomaticBoxCreatorRegistration.h"

namespace jm4bbx {
	size_t HashDBOperationBase::HASH_TABLE_SIZE = 100000;
	const char* HashDBOperationBase::INPUT_COUNT_PARAM_NAME = "input_count";

	typedef HashDBOperation<int, HashJoinHandler<IntegerHashBox>> ExpJoin;
	REGISTER_BOX_TO_RUNTIME_BASE(EXPERIMENTAL_JOIN, ExpJoin);

	typedef HashDBOperation<int, HashIntersectionHandler<IntegerHashBox>> ExpIntersection;
	REGISTER_BOX_TO_RUNTIME_BASE(EXPERIMENTAL_INTERSECTION, ExpIntersection);


	typedef HashDBOperation<int, HashSecondOperandSubtractionHandler<IntegerHashBox>> ExpSubtraction;
	REGISTER_BOX_TO_RUNTIME_BASE(EXPERIMENTAL_SUBTRACTION, ExpSubtraction);

} // namespace jm4bbx 
